--- src/imageutils/jpegcontent.cpp.orig	2009-01-09 22:54:12.000000000 +0500
+++ src/imageutils/jpegcontent.cpp	2009-01-09 22:56:48.000000000 +0500
@@ -47,6 +47,17 @@
 #include "imageutils/jpegcontent.h"
 #include "imageutils/jpegerrormanager.h"
 
+// Make sure an EXIV2_TEST_VERSION macro exists:
+
+#ifdef EXIV2_VERSION
+#    ifndef EXIV2_TEST_VERSION
+#        define EXIV2_TEST_VERSION(major,minor,patch) \
+         ( EXIV2_VERSION >= EXIV2_MAKE_VERSION(major,minor,patch) )
+#    endif
+#else
+#    define EXIV2_TEST_VERSION(major,minor,patch) (false)
+#endif
+
 namespace ImageUtils {
 
 const int INMEM_DST_DELTA=4096;
@@ -589,7 +600,12 @@
 QImage JPEGContent::thumbnail() const {
 	QImage image;
 	if (!d->mExifData.empty()) {
+#if (EXIV2_TEST_VERSION(0,17,91))
+		Exiv2::ExifThumbC thumb(d->mExifData);
+		Exiv2::DataBuf const thumbnail = thumb.copy();
+#else
 		Exiv2::DataBuf thumbnail = d->mExifData.copyThumbnail();
+#endif
 		image.loadFromData(thumbnail.pData_, thumbnail.size_);
 	}
 	return image;
@@ -611,7 +627,12 @@
 		return;
 	}
 	
+#if (EXIV2_TEST_VERSION(0,17,91))
+	Exiv2::ExifThumb thumb(d->mExifData);
+	thumb.setJpegThumbnail((unsigned char*)array.data(), array.size());
+#else
 	d->mExifData.setJpegThumbnail((unsigned char*)array.data(), array.size());
+#endif
 }
 
 
